home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1994 October / Macformat17.cdr / Shareware City / Developers / shutdown-fx-20-c / sfx init ƒ / code ƒ / a4 setup.h next >
Text File  |  1994-07-11  |  1KB  |  30 lines

  1. /*
  2.  *  SetUpA4.h
  3.  *
  4.  *  Copyright (c) 1991 Symantec Corporation.  All rights reserved.
  5.  *
  6.  *  This defines "SetUpA4()" and "RestoreA4()" routines that will work
  7.  *  in all A4-based projects.
  8.  *
  9.  *  "RememberA4()" or "RememberA0()" must be called in advance to
  10.  *  store away the value of A4 where it can be found by "SetUpA4()".
  11.  *  The matching calls to "RememberA4()" (or "RememberA0()") and
  12.  *  "SetUpA4()" *MUST* occur in the same file.
  13.  *
  14.  *  Note that "RememberA4()", "RememberA0()" "SetUpA4()", and
  15.  *  "RestoreA4()" are not external.  Each file that uses them must
  16.  *  include its own copy.
  17.  *
  18.  *  If this file is used in the main file of a code resource with
  19.  *  "Custom Headers", be sure to #include it *AFTER* the custom
  20.  *  header!  Otherwise, the code resource will begin with the code
  21.  *  for the function "__GetA4()", defined below.
  22.  *
  23.  */
  24.  
  25. #define RememberA4()    do { __GetA4(); asm { move.l a4,(a1) } } while (0)
  26. #define RememberA0()    do { __GetA4(); asm { move.l a0,(a1) } } while (0)
  27.  
  28. #define SetUpA4()        do { asm { move.l a4,-(sp) } __GetA4(); asm { move.l (a1),a4 } } while (0)
  29. #define RestoreA4()        do { asm { move.l (sp)+,a4 } } while (0)
  30.